package com.shujia

object Demo11Fun1 {
  def main(args: Array[String]): Unit = {

    /**
      * 函数的定义 -->可以在任意位置定义
      * 函数的调用  -->  可以不依赖对象，   如果函数定义在类中，需要通过对象调用
      *
      */

    //函数名，参数列表，返回值类型
    def fun(i: Int): Int = {

      //函数体
      val x = i * i

      //返回值
      return x
    }


    //函数调用，直接通过函数名调用
    val j: Int = fun(100)

    println(j)


    /**
      * 参数默认值
      *
      */


    def fun2(i: Int = 100, j: Int): Int = {
      return i * j
    }


    println(fun2(100, 100))
    //通过属性名传参数
    println(fun2(j = 100))


    /**
      * 可变参数
      *
      */

    def fun3(i: Int*): Unit = {

      //通过索引取值  i(1)
      println(i)
    }

    fun3(1, 2, 3, 4, 6, 7)


  }


}
